package com.gopay.bis.domain.order;

import java.io.Serializable;

/**
 * 组件与网关通信接口
 * 
 * @OrderInfo.java
 * @author liujy
 * @2012-4-18 下午5:28:30 www.gopay.com.cn Inc.All rights reserved.
 */
public class OrderInfo implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private String orderId;// 银行订单号
    /**
     * 返回码： 00--成功，其它状态全部失败，中间状态丢弃不处理 01--验签失败 02--参数有误 03-- 88--其他
     */
    private String retCode;

    /**
     * GOPAY-Y：成功 GOPAY-N：失败
     */
    private String payStatus;// 交易状态
    private String retMsg;// 信息描述
    private String amt;// 金额 0.00
    private String notifyNum;// 缓存数据生存期内银行通知次数
    /**
     * GOPAY-BANK-1：借记卡 GOPAY-BANK-2：信用卡 GOPAY-BANK-3：不明确卡类型
     */
    private String cardType;// 支付卡类型
    private String sign;// 密文
    private boolean isNotify=false;//是否相应银行
    private String bankName;// 银行名称
    

    private String special;
    

    private String respCode;   //银行返回交易码
    private String respMsg;   //银行返回交易描述
    private String bankSignMsg;  //银行返回密文

    public String getPayStatus() {
        if (payStatus == null) {
            return "";
        }
        return payStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public String getCardType() {
        if (cardType == null) {
            return "";
        }
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getSign() {
        if (sign == null) {
            return "";
        }
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getOrderId() {
        if (orderId == null) {
            return "";
        }
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getRetCode() {
        if (retCode == null) {
            return "";
        }
        return retCode;
    }

    public void setRetCode(String retCode) {
        this.retCode = retCode;
    }

    public String getRetMsg() {
        if (retMsg == null) {
            return "";
        }
        return retMsg;
    }

    public void setRetMsg(String retMsg) {
        this.retMsg = retMsg;
    }

    public String getAmt() {
        if (amt == null) {
            return "0.00";
        }
        return amt;
    }

    public void setAmt(String amt) {
        this.amt = amt;
    }

    public String getNotifyNum() {
        if (notifyNum == null) {
            return "1";
        }
        return notifyNum;
    }

    public void setNotifyNum(String notifyNum) {
        this.notifyNum = notifyNum;
    }

    public boolean getIsNotify() {
		return isNotify;
	}

	public void setIsNotify(boolean isNotify) {
		this.isNotify = isNotify;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public void setNotify(boolean isNotify) {
		this.isNotify = isNotify;
	}
	
	public String getSpecial() {
        if (special == null) {
            return "";
        }
        return special;
    }


    public void setSpecial(String special) {
        this.special = special;
    }


	public String getRespCode() {
		return respCode;
	}

	public void setRespCode(String respCode) {
		this.respCode = respCode;
	}

	public String getRespMsg() {
		return respMsg;
	}

	public void setRespMsg(String respMsg) {
		this.respMsg = respMsg;
	}

	public String getBankSignMsg() {
		return bankSignMsg;
	}

	public void setBankSignMsg(String bankSignMsg) {
		this.bankSignMsg = bankSignMsg;
	}


	public String toString() {
        StringBuffer buffer = new StringBuffer("OrderInfo:\r\n[");
        buffer.append("orderId: ").append(getOrderId()).append("\r\n");
        buffer.append("amt: ").append(getAmt()).append("\r\n");
        buffer.append("payStatus: ").append(getPayStatus()).append("\r\n");
        buffer.append("cardType: ").append(getCardType()).append("\r\n");
        buffer.append("notifyNum: ").append(getNotifyNum()).append("\r\n");
        buffer.append("retCode: ").append(getRetCode()).append("\r\n");
        buffer.append("retMsg: ").append(getRetMsg()).append("\r\n]");
        buffer.append("bankName: ").append(getBankName()).append("\r\n]");
        buffer.append("isNotify: ").append(getIsNotify()).append("\r\n]");
        buffer.append("special: ").append(getSpecial()).append("\r\n]");
        buffer.append("sign: ").append(getSign()).append("\r\n]");
        buffer.append("respCode: ").append(getRespCode()).append("\r\n]");
        buffer.append("respMsg: ").append(getRespMsg()).append("\r\n]");
        buffer.append("bankSignMsg: ").append(getBankSignMsg()).append("\r\n]");
        return buffer.toString();
    }
}
